#include <stdio.h>
#include <string.h>

int main() {
    char* pStr = "Hello China";
    // char* another = "Zed";
    char another[] = "Zed";
    printf("another: %s\n", another);
    printf("another each: [%c][%c][%c][%c]\n", another[0], another[1], another[2], another[3]);
    puts(another);
    puts(another);

    // 声明写法总结
    char s1[] = {'a', 'b', 'c'};  // 不能写双引号，注意字符写单引号
    char s2[] = "abcAbc";
    char* s3 = "ccccccc";
    char s4[10] = {};  // 这样打印出来还是一个空串
    char s5[10];       // 这样就会打印出乱码
    // 打印方法
    puts(s1);
    puts(s2);
    puts(s3);
    puts(s4);
    printf("%s\n", s3);
    printf("[%s]\n", s4);
    printf("[%s]\n", s5);
    // 输入获取的字符串方法
    
    // 字符串可以通过下标修改吗？
    s1[0] = 'Z';  // 可以
    puts(s1);
    s3[1] = 'Z';  // 不可以
    puts(s3);
    // 通过char string[] 方式声明的，可以通过下标改字符
    // 通过 char* string 方式声明的，不能通过下标改字符
    return 0;
}
